In most real signal transmission applications there can be several sources of noise and distortions between the source of the signal and its receiver. As a result, there is a strong need to correct mistakes in the received signal. As a solution for this task one should use some coding technique with adding some additional information (i.e., additional bits to the source signal) to ensure correcting errors in the output distorted signal and decoding it. One type of coding technique utilizes low-density parity-check (LDPC) codes. LDPC codes are used because of their fast decoding (linearly depending on codeword length) property.
LE queues and hard decision (HD) memory are separate memories utilized in LDPC processing. HD ping-pong memory is a type a page flipping memory used to store hard decision data from LDPC decoders. HD ping-pong memory transfers hard decision data to an HD queue and is a true ping-pong memory similar in structure to LE ping-pong memory. HD ping-pong memory has one dedicated write port to receive hard decision bits from a decoder. Similarly, it has one dedicated read port to serve the hard decision values read to a HD queue. While a LE queue holds either L or E values for a packet. Log-likelihood ratios (LLRs or L values) are received from a detector after detecting is concluded and is preserved until an LDPC decoding is finished. Extrinsic LLR values (E values) overwrite the space occupied by L values at the end of decoding if further global iterations are necessary. L values are derived from the detector through global interleaving. E values are supplied to the detector through global de-interleaving.
Several memory modules create architectural complexity and latency. Consequently, it would be advantageous if an apparatus existed that is suitable for combining LE queues and HD memory in a LDPC decoder.